1. Field of the Invention
The present invention relates to a mobile communication system, and more particularly, to a method for matching a rate, in which puncturing or repetition is applied to each bitstream on transport channels supporting different services in a next generation mobile communication system of the W-CDMA (Wideband Code Division Multiple Access) system.
2. Background of the Related Art
Recently, the ARIB of Japan, the ETSI of the Europe, the TIA of the USA, the TTA of Korea, and the TTC of Japan have suggested next generation mobile communication systems based on the core network technology and the radio access technology in the existing GSM (Global System for Mobile communication) which serves for multimedia, such as audio, video and data. In order to provide a technical specification for the next generation mobile communication system, the organizations agreed on a common research, project called as 3GPP (Third Generation Partnership Project).
The 3GPP has different technical specification groups, wherein the RAN (Radio Access Network) specification group suggests technical specifications on uplink rate matching and downlink rate matching. The rate matching is a method for adjusting a bitstream passed through a channel coding to a level of code rate which is most suitable for a radio interface by subjecting to puncturing process for removing a particular bit, or to repetition process for adding a particular bit. A puncturing algorithm and repetition algorithm is used in the rate matching, which is implemented differently to uplink and downlink, because a rate matched bitstream is interleaved in the downlink, and an interleaved bitstream is rate matched in the uplink.
There are two types of downlink rate matchings, i.e., a fixed position rate matching for puncturing and repetition carried out at a fixed position transport channel, which is detected in decoding at a reception side when a reception bit rate is fixed by using a blind rate detection, and a flexible position rate matching with positions of the puncturing and the repetition are flexible, which is used in decoding at the reception side when a reception bit rate is detected by using TFCI (Transport Format Combination Indicator) field information among various field of reception frames. Respective downlink rate matching has a puncturing patterning (or repetition pattern) determining procedure using the puncturing algorithm and a signaling determining procedure to be used in the puncturing algorithm (or the repetition algorithm) to calculate the amount of rate matching.
In the signaling determining procedure, a number of bits to be punctured (or repeated), and an initial error offset value eini of a parameter “e” for use in determining the puncturing pattern (or repetition pattern) are calculated. In the rate matching pattern determination procedure, ‘eini’ value determines the initial position for puncturing (or repetition) and with respect to this initial position, remaining position to be punctured (or repeated) are determined to have uniform intervals. It is a basic precondition of a current downlink rate matching that a result of the signaling determining procedure is applied to the rate matching algorithm, for allowing a uniform puncturing (or a uniform repetition) for entire channel coded bitstream.
Current uniform rate matching pattern determination algorithm can be expressed as follows, where N denotes a size of channel coded input bitstream, and Ni denotes a size of output bitstream after the rate matching.
input bitstream S0 = {d1, d2, d3, - - - , dN}“if puncturing is to be performedy = N − Ni; a number of bits to be punctured (−ΔN)e = eini; initial error between current and desired puncturingratio.m = 1; index of current bitdo while m ≦ Ne = e − a*y; update errorif e ≦ 0 then; check if bit number m should be puncturedpuncture bit m from set S0e = e + a*N; update errorend ifm = m + 1; index of next bitend doelsey = Ni − N; a number of bits to be repeated (ΔN)e = eini; initial error between current and desired repeatingratio.m = 1; index of current bitdo while m ≦ Ne = e − a*y; update errordo while e ≦ 0; check if bit number m should be repeatedrepeat bit m from set S0e = e + a*N; update errorend dom = m + 1; index of next bitend doend if”
In order to obtain a uniform puncturing pattern (or a uniform repetition pattern) of the channel coded input bitstream by carrying out the foregoing rate matching algorithm, an initial error offset value eini of a parameter for determining the puncturing pattern (or repetition pattern) in the signaling procedure should be determined, appropriately.
FIG. 1 illustrates a block diagram showing a hardware system for matching a rate in downlink according to 3GPP RAN (Radio Access Network) standard for 1/3 rate channel codes. As shown in FIG. 1-(a) and FIG. 1-(b), rate matching for convolutional codes and that for turbo codes have somewhat different structure. When the channel encoder 1 carries out the convolutional coding in FIG. 1-(a), the output bit stream X, Y, Z from the channel encoder 1 have almost identical importance. Therefore, bit separation block 2 doesn't do anything and pass the entire coded bit stream to the rate matching block 3. The rate matching block 3 performs rate matching pattern determination algorithm over the entire coded bit stream using the parameter such as N, eini, and a. This procedure is based on the assumption that the each code bit in one code symbol has approximately the same importance. However, even in an actual convolutional codes, the influences form respective output bit streams to hamming weight distribution of the bit streams before coding are different. After rate matching block 3, bit collection block 4 operates and it output the punctured or repeated bit streams in appropriate order. When the channel encoder 1 carries out turbo coding in FIG. 1-(b), the output bit streams form the channel encoder 1 branch off into a systematic bit stream X of the highest importance, and a first bit stream Y and a second bit stream Z, both of identical importance. This operation is performed in the bit separation block 2. There after, respective rate matching block RMB3, 4 subject respective bit streams Y and Z to puncturing based on N, eini, and a form the rate matching signaling.
In the meantime, a constant or fixed parameter “a=2” is used in determining a position of code bit to be punctured (or repeated) in the rate matching for current convolution code, and the initial error offset value eini of the parameter ‘e’ determining the puncturing pattern (or repetition pattern) is determined according to the following equations (1) and (2).
First, in the flexible position rate matching, the initial error offset value eini is determined based on the following equation (1).eini=NilTTI  (1)
On the other hand, in the fixed position rate matching, the initial error offset value eini is determined based on following equation (2).
                              e          ini                =                                            max              ⁢                                                                                  l              ∈                              TFS                ⁡                                  (                  i                  )                                                              ⁢                      N                          i              ,              l                        TTI                                              (        2        )            
In equations (1) and (2), the subscript i denotes an index representing a transport channel number, the subscript l denotes an index representing TF (Transport Format) available in one TTI (Transport Time Interval) in a TFS (Transport Format Set). In other word, in the case of fixed position rate matching, a maximum bit size among bits in the TFS representing TFs transportable during each TTI which denotes a bit transport period in each transport channel is determined as the eini.
Referring to FIG. 2, as one example of the fixed position rate matching, if it is assumed that the TFS in one TTI has 5 bits, 10 bits, 15 bits, and 20 bits, the eini=20 when a TTI bit size is 20. In this instance, since a size N of input bitstream for the rate matching is the TTI bit size, N=20. The procedure for application of the foregoing parameter values to current rate matching algorithm and puncturing four bits of the input bitstream (ΔN=−4) is as follows.
With regard to puncturing of a first bit (when m=1) among total 20 bits, since y=4, eini=20, and the update error value calculated according to “e=e−2*y” is 12, that does not satisfy the condition of “e≦0”, no puncturing occurs for the first bit. With regard to puncturing of a second bit (when m=2), since the update error value calculated according to “e=e−2*y” from e=12 updated in the prior step is 4, such a result does not satisfy the condition of “e≦0”, and no puncturing occurs for the second bit.
Next, with regard to puncturing of a third bit (when m=3), since the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is −4, that satisfies the condition of “e≦0”, a first puncturing occurs at the third bit. After the puncturing of the third bit, the error value is updated as e=36 according to “e=e+2*N”, and a loop is repeated for determining a next bit position to be punctured. A puncturing pattern (shaded bit positions) according to procedure is shown in FIG. 2.
The next example is when the TTI bit size is changed to 5. Although the input bitstream size N has changed to N=5 for the rate matching, the initial error offset value eini is determined to be eini=20 according to equation (2) regardless of the TTI change. The procedure for application of the foregoing parameter values to current rate matching algorithm and puncturing four bits of the input bitstream (ΔN=−4) is as follows.
With regard to puncturing of a first bit (when m=1) among total 5 bits, since y=4, eini=20, and the update error value calculated according to “e=e−2*y” is 12, that can not satisfy the condition of “e≦0”, no puncturing occurs for the first bit. With regard to puncturing of a second bit (when m=2), since y=4, and the update error value calculated according to “e=e−2*y” from e=12 updated in the prior step is 4, which does not satisfy the condition of “e≦0”, no puncturing occurs for the second bit.
With regard to puncturing of a third bit (when m=3), since y=4, and the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is −4, which satisfies the condition of “e≦0”, a first puncturing occurs at the third bit. After the puncturing of the third bit, the error value is updated as e=6 according to “e=e+2*N”, and a loop is continued for determining a bit position to be punctured at the next bit. In this specific instance, the puncturing occurs at the fourth bit, and the puncturing occurs at the fifth bit, as shown in the shaded bit position of FIG. 3.
In the current rate matching algorithm based on parameters eini and ‘a’, the relevant bits are punctured (or repeated) when a result of a subtraction e=e−2*y satisfies a particular condition of e≦0, an error offset value is updated. Based on current procedure, there have been cases, as shown in FIG. 3, a problem occurs when the updated error offset value is changed after the puncturing and when the TTI bit size is changed.
Such a problem causes puncturing (or repetition) concentrated on a portion of bits, failing to satisfying a uniform puncturing (or a uniform repetition) for the entire channel coded bitstreams X, Y, Z resulting in a deterioration of an overall code performance. If the initial error offset value in the aforementioned current rate matching algorithm is used when the channel encoder carries out 1/3 rate convolutional coding separately, there can be a worst case when the puncturing is occurred only in a particular bitstream (especially, Z bitstream) among the three bitstreams branched off from the convolutional coded output bitstream, resulting in a code performance deterioration.
As described above, even if an actual convolutional code is used, influences from respective output bitstreams to hamming weights for the bitstreams before coding are different. For example, if a length of input bitstream is fixed for a rate matching of 12, two bits are to be punctured in the input bitstream in the signaling determining procedure. With regard to puncturing of a first bit (when m=1) among total 12 bits, since y=2, eini=12, and the update error value calculated according to “e=e−2*y” is 8, which does not satisfy the condition of “e≦0”, no puncturing occurs at the first bit. With regard to puncturing of a second bit (when m=2), since y=2, and the update error value calculated according to “e=e−2*y” from e=8 updated in the prior step is 4, which does not satisfy the condition of “e≦0”, no puncturing occurs for the second bit. With regard to puncturing of a third bit (when m=3), since y=2, and the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is 0, which satisfies the condition of “e≦0”, a first puncturing occurs at the third bit.
Upon carrying out the foregoing procedure repeatedly for the entire input bitstream, a puncturing pattern as shown in FIG. 4 is obtained. As FIG. 4, the puncturing for the 1/3 rate convolutional coding is occurred only at a third code bit among the three code bits in one symbol of the convolutional code. Such a situation can not be avoided in a case when a puncturing interval is a multiple of six.
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.